<?php

/**
 * Classe que representa o objeto Participante
 * @name Participante
 * @author Fabio Baía baiacfabio@gmail.com
 * @since 26/04/2013 18:01:09
 */
class Participante{
	private $id;
	private $nome;
	private $rg;
	private $cpf;
	private $eventos = null;
	private $enderecos = null;
	private $dataModificacao;
	private $inscricao;
	
	public function Participante(){
		$this->nome = "";
		$this->cpf = "";
		$this->rg = "";
		$this->dataModificacao = new DateTime("now");
		
		$this->enderecos = array();
		$this->eventos = array();
		
		//cria um objeto endereco vazio
		$this->enderecos[0] = new Endereco();
	}
			
	/**
	 * @access public
	 * @name setId
	 * @param int $id Id do participante
	 * @since 26/04/2013 18:01:18
	 */
	public function setId($id){
		$this->id = $id;
	}

	/**
	 * @access public
	 * @name getId
	 * @return int Id do participante
	 * @since 26/04/2013 18:01:43
	 */
	public function getId(){
		return $this->id;
	}
		
	/**
	 * @access public
	 * @name setNome
	 * @param string $nome Nome do participante
	 * @since 26/04/2013 18:02:07
	 */
	public function setNome($nome){
		$this->nome = $nome;
	}

	/**
	 * @access public
	 * @name getNome
	 * @return string Nome do participante
	 * @since 26/04/2013 18:02:20
	 */
	public function getNome(){
		return $this->nome;
	}
	
	/**
	* @access public
	* @name setRG
	* @param string $rg
	* @since 29/04/2013 03:36:00
	*/
	public function setRG($rg) {
		$this->rg = $rg;
	}	
	
	/**
	* @access public
	* @name getRG
	* @return string RG
	* @since 29/04/2013 03:36:45
	*/
	public function getRG() {
		return $this->rg;
	}
	
	/**
	* @access public
	* @name setCPF
	* @param string $cpf
	* @since 29/04/2013 03:37:17
	*/
	public function setCPF($cpf) {
		$this->cpf = $cpf;
	}
	
	/**
	* @access public
	* @name getCPF
	* @return string CPF
	* @since 29/04/2013 03:37:44
	*/
	public function getCPF() {
		return $this->cpf;
	}
	
	/**
	* @access public
	* @name addEvento
	* @param Evento $evento
	* @since 29/04/2013 20:19:35
	*/
	public function addEvento($evento) {
		$this->evento[] = $evento;
	}
	
	/**
	* @access public
	* @name getEventos
	* @return array Evento
	* @since 29/04/2013 20:20:34
	*/
	public function getEventos() {
		return $this->eventos;
	}
	
	/**
	 * @access public
	 * @name setDataModificacao
	 * @param DateTime $data Data de modificação
	 * @since 26/04/2013 18:03:22
	 */
	public function setDataModificacao($dataModificacao){
		$this->dataModificacao = $dataModificacao;
	}
	
	/**
	 * @access public
	 * @name getDataModificacao
	 * @return DateTime Data de modificação
	 * @since 26/04/2013 18:04:12
	 */
	public function getDataModificacao(){
		return $this->dataModificacao;
	}
	
	/**
	* @access public
	* @name addEndereco
	* @param Endereco $endereco
	* @since 07/05/2013 02:44:36
	*/
	public function addEndereco($endereco) {
		//será?
		$endereco->setParticipante($this);
		
		if(!in_array($endereco, $this->enderecos)){
			$this->enderecos[] = $endereco;
		}
	}
	
	/**
	* @access public
	* @name getEnderecos
	* @return array Enderecos
	* @since 07/05/2013 02:45:10
	*/
	public function getEnderecos() {
		return $this->enderecos;
	}
	
	/**
	* @access public
	* @name getPrimeiroEndereco
	* @return Endereco
	* @since 07/05/2013 02:47:17
	*/
	public function getPrimeiroEndereco() {
		return $this->enderecos[0];
	}
	
	
}